#include <iostream>
#include <cstring>

using namespace std;

const int N = 110;
char a[N][N];
int n;
int num[200];
bool st[5];
int dx[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};

int main()
{
	cin >> n;
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			scanf("%c", &a[i][j]);
		}
	}
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			for(int  k = 0; k < 8; k++)
			{
				int x = i + dx[k];
				int y = j + dy[k];
				if(x >= 1 && y >= 1 && x <= n && y <= n)
				{
					num[a[x][y]]++;
				}
			}
			int ret = 0;
			for(char i = 97; i <= 122; i++)
			{
				if(i == 'a' || i == 'l' || i == 'n' || i == 'g');
				ret = min(ret, num[i]);
			}
			memset(num, 0, sizeof num);
			for(int  k = 0; k < 8; k++)
			{
				int x = i + dx[k];
				int y = j + dy[k];
				if(x >= 1 && y >= 1 && x <= n && y <= n)
				{
					if(ret == 0)
					{
						a[x][y] = '*';
					}
					else if(ret == 1)
					{
						if(a[x][y] == 'l' && st[1] == false)
						{
							st[1] = true;
						}
						else if(st[1] == true)
						{
							a[x][y] = '*';
						}
						if(a[x][y] == 'a' && st[2] == false)
						{
							st[2] = true;
						}
						else if(st[2] == true)
						{
							a[x][y] = '*';
						}
						if(a[x][y] == 'n' && st[3] == false)
						{
							st[3] = true;
						}
						else if(st[3] == true)
						{
							a[x][y] = '*';
						}
						if(a[x][y] == 'g' && st[4] == false)
						{
							st[4] = true;
						}
						else if(st[4] == true)
						{
							a[x][y] = '*';
						}
					}
				}
			}
		}
	
	}
		for(int i = 1; i <= n; i++)
		{
			for(int j = 1; j <= n; j++)
			{
				cout << a[i][j];
			}
			cout << endl;
		}
	return 0;
}
